package com.dhcc.bpm.business.papc.entity;

import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.NullSerializer;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import org.springblade.core.mp.base.BaseEntity;

/**
 * 批量任务记录表 实体类
 *
 * @author zhanghang
 * @since 2020-12-18
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("ZJYW_BATCH_RECORD")
@ApiModel(value = "BatchRecord对象", description = "批量任务记录表 ")
public class BatchRecord extends BaseEntity implements Serializable {

	private static final long serialVersionUID = 1L;

	/**
	* 产品代码
	*/
		@ApiModelProperty(value = "产品代码")
		@TableField("PRDT_CODE")
	private String prdtCode;
	/**
	* 批扣业务种类 近端渠道编码表
	*/
		@ApiModelProperty(value = "批扣业务种类 近端渠道编码表")
		@TableField("PK_TYPE")
	private String pkType;
	/**
	* 任务类型 01 对账 02 批扣
	*/
		@ApiModelProperty(value = "任务类型 01 对账 02 批扣")
		@TableField("TASK_TYPE")
	private String taskType;
	/**
	* 核心业务类型编码
	*/
		@ApiModelProperty(value = "核心业务类型编码")
		@TableField("BSNTPNO")
	private String bsntpno;
	/**
	* 任务批次号 标记同一批次的业务,规则:系统编码+编号（自定义）
	*/
		@ApiModelProperty(value = "任务批次号 标记同一批次的业务,规则:系统编码+编号（自定义）")
		@TableField("PK_TASK_NO")
	private String pkTaskNo;
	/**
	* 任务批名称
	*/
		@ApiModelProperty(value = "任务批名称")
		@TableField("PK_TASK_NAME")
	private String pkTaskName;
	/**
	* 业务日期 批量执行时的业务日期
	*/
		@ApiModelProperty(value = "业务日期 批量执行时的业务日期")
		@TableField("TASK_BUSI_DATE")
	private String taskBusiDate;
	/**
	* 任务开关 0 开启 1 关闭
	*/
		@ApiModelProperty(value = "任务开关 0 开启 1 关闭")
		@TableField("TASK_OPEN")
	private String taskOpen;
	/**
	* 调用的IP地址/URL
	*/
		@ApiModelProperty(value = "调用的IP地址/URL")
		@TableField("IP_ADDR")
	private String ipAddr;
	/**
	* 调用的端口
	*/
		@ApiModelProperty(value = "调用的端口")
		@TableField("PORT")
	private String port;
	/**
	* 执行次数 设置任务的执行总次数，触发模式为循环的时候使用
	*/
		@ApiModelProperty(value = "执行次数 设置任务的执行总次数，触发模式为循环的时候使用")
		@TableField("DO_NUM")
		@JsonSerialize(using = ToStringSerializer.class,nullsUsing = NullSerializer.class)
	private BigDecimal doNum;
	/**
	* 当前任务已执行次数
	*/
		@ApiModelProperty(value = "当前任务已执行次数")
		@TableField("NOW_NUM")
		@JsonSerialize(using = ToStringSerializer.class,nullsUsing = NullSerializer.class)
	private BigDecimal nowNum;
	/**
	* 触发模式 01 循环模式（每天在时间段内循环扫描）
02 单次模式（每天在时间段内执行一次）
	*/
		@ApiModelProperty(value = "触发模式 01 循环模式（每天在时间段内循环扫描） 02 单次模式（每天在时间段内执行一次）")
		@TableField("SEND_MODE")
	private String sendMode;
	/**
	* 任务开始时间
	*/
		@ApiModelProperty(value = "任务开始时间")
		@TableField("START_TIME")
	private String startTime;
	/**
	* 任务结束时间
	*/
		@ApiModelProperty(value = "任务结束时间")
		@TableField("END_TIME")
	private String endTime;
	/**
	* 中间业务实际执行结束时间YYYYMMDD
	*/
		@ApiModelProperty(value = "中间业务实际执行结束时间YYYYMMDD")
		@TableField("ZJYW_SYS_END_TIME")
	private String zjywSysEndTime;
	/**
	* 优先级排序序号 产品下的任务序号
	*/
		@ApiModelProperty(value = "优先级排序序号 产品下的任务序号")
		@TableField("ORDER_NO")
		@JsonSerialize(using = ToStringSerializer.class,nullsUsing = NullSerializer.class)
	private BigDecimal orderNo;
	/**
	* 流水号
	*/
		@ApiModelProperty(value = "流水号")
		@TableField("TASK_BATCH_NO")
	private String taskBatchNo;
	/**
	* 请求交易码
	*/
		@ApiModelProperty(value = "请求交易码")
		@TableField("TX_CODE")
	private String txCode;
	/**
	* 任务执行状态 01  未执行  02执行中(当触发模式为循环时，此字段状态默认为1)  00 执行成功  03 执行失败
	*/
		@ApiModelProperty(value = "任务执行状态 01  未执行  02执行中(当触发模式为循环时，此字段状态默认为1)  00 执行成功  03 执行失败")
		@TableField("ZJYW_TASK_STS")
	private String zjywTaskSts;
	/**
	* 任务执行返回信息
	*/
		@ApiModelProperty(value = "任务执行返回信息")
		@TableField("ZJYW_TASK_MSG")
	private String zjywTaskMsg;
	/**
	* 中间业务实际执行日期
	*/
		@ApiModelProperty(value = "中间业务实际执行日期")
		@TableField("ZJYW_SYS_DATE")
	private String zjywSysDate;
	/**
	* 中间业务实际执行时间 yyyymmdd
	*/
		@ApiModelProperty(value = "中间业务实际执行时间 yyyymmdd")
		@TableField("ZJYW_SYS_TIME")
	private String zjywSysTime;
	/**
	* 现在的回溯
	*/
		@ApiModelProperty(value = "现在的回溯")
		@TableField("ZJYW_NOW_TRACE")
	private String zjywNowTrace;
	/**
	* 描述
	*/
		@ApiModelProperty(value = "描述")
		@TableField("TASK_DESC")
	private String taskDesc;
	/**
	* 手动触发标志   01 手工触发打开 02 手工触发关闭
	*/
		@ApiModelProperty(value = "手动触发标志   01 手工触发打开 02 手工触发关闭")
		@TableField("MANUAL_LAB")
	private String manualLab;
	/**
	* 备注
	*/
		@ApiModelProperty(value = "备注")
		@TableField("REMARK")
	private String remark;
	/**
	* 主任务所属组
	*/
		@ApiModelProperty(value = "主任务所属组")
		@TableField("TASK_GROUP")
	private String taskGroup;

	/**
	* 父主键
	*/
		@ApiModelProperty(value = "父主键")
		@TableField("PID")
	private Long pid;
	/**
	* 上传文件id
	*/
		@ApiModelProperty(value = "上传文件id")
		@TableField("PUL_ID")
		@JsonSerialize(using = ToStringSerializer.class,nullsUsing = NullSerializer.class)
	private Long pulId;

}
